#pragma once
#include<stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<unistd.h>
#include<string.h>

#define SIZE 1024  

// 刷新方式宏
#define FLUSH_NONE 0
#define FLUSH_LINE 1
#define FLUSH_FULL 2

struct IO_FILE
{
    int flag;  // 刷新方式
    int fileno;  // 文件描述符
    char out_buffer[SIZE];
    int capacity;  // 容量
    int size;  // 所含大小
};

typedef struct IO_FILE mFILE;

mFILE* mfopen(const char* filename, const char* mode);
int mfwrite(const void* ptr, int num, mFILE* stream);
void mfflush(mFILE* stream);
void mfclose(mFILE* stream);
